<%-- 
    Document   : CON_PARAMETRIZACION_RRHH
    Created on : 01-feb-2015, 14:12:48
    Author     : equipo_4
--%>

<%@page import="java.util.ArrayList"%>
<%@page import="CONTABILIDAD_MODELO.CON_CENTRO_COSTO"%>
<%@page import="CONTABILIDAD_MODELO.CON_PARAMETRIZACION_LINEAS_CO"%>
<%@page import="CONTABILIDAD_MODELO.CON_CUENTA_CONTABLE"%>
<%@page import="CONTABILIDAD_MODELO.CON_PARAMETRIZACION_CELULARES"%>
<%@page import="RRHH_Modelo.RHH_LINEAS_CORPORATIVAS"%>
<%@page import="java.util.List"%>
<%@page import="RRHH_Modelo.RHH_TELEFONOS"%>
<%@page import="Conexion.Conexion"%>
<%@page import="RRHH_Modelo.RHH_USUARIO"%>
<%@page contentType="text/html" pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
    <head>
        <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
        <title>BROKER</title>
        <link rel="stylesheet" href="../css/NuevoStilo.css">
        <script src="../login/js/jquery-1.8.2.min.js" type="text/javascript"></script>
    </head>
    <body>
        <%
            RHH_USUARIO usuario = ((RHH_USUARIO)request.getSession().getAttribute("usr"));
            Conexion con = new Conexion(usuario.getPASSWORD(), usuario.getPASSWORD()); 
            List<CON_PARAMETRIZACION_CELULARES> todos = new CON_PARAMETRIZACION_CELULARES(con).Todos();
            int id=0;
            if(todos.size()>0)
            id =todos.get(0).getID_CUENTA();
            
            CON_CUENTA_CONTABLE cuenta =null;;
            
            if(id>0)
                cuenta= new CON_CUENTA_CONTABLE(con).BuscarXid(id);            
            
            String codigo0="";
            String desc0="";
            
            if(cuenta!=null)
            {
                codigo0=cuenta.getCODIGO();
                desc0=cuenta.getDESCRIPCION();
            }
            
            List<CON_PARAMETRIZACION_LINEAS_CO> todosl = new CON_PARAMETRIZACION_LINEAS_CO(con).Todos();
            id=0;
            
            if(todosl.size()>0)
                id=todosl.get(0).getID_CUENTA();
            
            if(id>0)
                cuenta = new CON_CUENTA_CONTABLE(con).BuscarXid(id);
            else
                cuenta=null;
            
            String codigo1="";
            String desc1="";
            
            if(cuenta!=null)
            {
                codigo1=cuenta.getCODIGO();
                desc1=cuenta.getDESCRIPCION();
            }
            
            List<CON_CENTRO_COSTO> listac = new ArrayList<CON_CENTRO_COSTO>();
            List<CON_CENTRO_COSTO> listac1 = new ArrayList<CON_CENTRO_COSTO>();
            
            if(!codigo0.equals(""))
                listac = new CON_CENTRO_COSTO(con).gethojasList(codigo0);
            if(!codigo1.equals(""))
                listac1 = new CON_CENTRO_COSTO(con).gethojasList(codigo1);
            
        %>
        <div id="tituloFormulario">PARAMETRIZACION DE RECURSOS HUMANOS</div>
        <div style="overflow: auto; height: 500px;" class="centrado">            
            <div class="subtitulo">PLANILLA CELULARES</div>
            <form id="form">
                <span class="negrillaenter">Codigo Cuenta</span>
                <input type="hidden" name="proceso" value="guardar"/>
                <input type="text" class="mediano" value="<%out.print(codigo0);%>" name="codigo_cuenta" onkeyup="buscarCuenta(this);"/>
                <input type="text" class="mediano" value="<%out.print(desc0);%>" name="desc_cuenta" onkeyup="buscarCuenta(this);"/>
            
                <ul id="ul1">
                    <li>TODOS:<input type='checkbox' name='cb_todos' checked onchange="cambiotodos(this);"/></li>
                    <%
                        List<RHH_TELEFONOS> lista = new RHH_TELEFONOS(con).Todos();
                        for(RHH_TELEFONOS telefono:lista)
                        {
                            out.print("<li><input type='checkbox' name='cb_"+(int)telefono.getID()+"' checked/>"+telefono.getNUMERO()+"<select name='select_"+(int)telefono.getID()+"' onchange='llenarselect(this);'>");                              
                            CON_PARAMETRIZACION_CELULARES linea=new CON_PARAMETRIZACION_CELULARES(con).BuscarXcelular(telefono.getID());                            
                            int idcentro=-1;
                            if(linea!=null)
                                idcentro=linea.getID_CENTRO_COSTO();
                            
                            if(idcentro>0)
                            {
                                for(CON_CENTRO_COSTO centro:listac)
                                {
                                    if(centro.getID()==idcentro)
                                        out.print("<option value="+centro.getID()+" selected>"+centro.getDESCRIPCION()+"</option>");
                                    else
                                        out.print("<option value="+centro.getID()+">"+centro.getDESCRIPCION()+"</option>");
                                }
                            }
                            out.print("</select></li>");
                        }
                    %>
                </ul>
                <button type="button" onclick="guardar();">GUARDAR</button>
            </form>
            <div class="subtitulo">PLANILLA CORPORATIVOS</div>
            <form id="form1">
                <span class="negrillaenter">Codigo Cuenta</span>
                <input type="hidden" name="proceso" value="guardar1"/>
                <input type="text" class="mediano" name="codigo_cuenta1" value="<%out.print(codigo1);%>" onkeyup="buscarCuenta1(this);"/>
                <input type="text" class="mediano" name="desc_cuenta1" value="<%out.print(desc1);%>" onkeyup="buscarCuenta1(this);"/>
            
                <ul id="ul2">
                    <li>TODOS:<input type='checkbox' name='cb_todos1' checked onchange="cambiotodos1(this);"/></li>
                    <%
                        List<RHH_LINEAS_CORPORATIVAS> listacorp = new RHH_LINEAS_CORPORATIVAS(con).Todos();
                        for(RHH_LINEAS_CORPORATIVAS corp:listacorp)
                        {
                            out.print("<li><input type='checkbox' name='cb1_"+(int)corp.getID()+"' checked/>"+corp.getNUMERO()+"<select name='select1_"+(int)corp.getID()+"' onchange='llenarselect1(this);'>");
                            CON_PARAMETRIZACION_LINEAS_CO lineac=new CON_PARAMETRIZACION_LINEAS_CO(con).BuscarXcorporativo(corp.getID());                            
                            int idcentro=-1;
                            if(lineac!=null)
                                idcentro=lineac.getID_CENTRO_COSTO();
                            
                            if(idcentro>0)
                            {
                                for(CON_CENTRO_COSTO centro:listac1)
                                {
                                    if(centro.getID()==idcentro)
                                        out.print("<option value="+centro.getID()+" selected>"+centro.getDESCRIPCION()+"</option>");
                                    else
                                        out.print("<option value="+centro.getID()+">"+centro.getDESCRIPCION()+"</option>");
                                }                                
                            }
                            out.print("</select></li>");
                        }
                    %>
                </ul>
                <button type="button" onclick="guardar1();">GUARDAR</button>
            </form>
        </div>
        <div id="popUpbackGround"></div>
            <div id="popUpCarga" class="Extragrande"><img src="../img/iconos/ajax-loader.gif" alt=""/> <span class="negrilla">GENERANDO espere por favor</span></div>
            <span id="resultado"></span>
        <span id="resultado_codigo"></span>   
        <script type="text/javascript">
            var url="../CON_PARAMETRIZACION_RRHH_CONTROLLER";
            
            $(document).ready(function(){
                    versionamiento();
            });
            
            function guardar()
            {
                var formData = new FormData($("#form")[0]);
                $.ajax({
                    url: url,
                    type: 'POST',
                    data:  formData,
                    mimeType:"multipart/form-data",
                    contentType: false,
                    cache: false,
                    processData:false,
                    success: function(data, textStatus, jqXHR)
                    {
                        if(data!=="false")
                        {
                            alert("Cambios guardados!!");
                        }
                        else
                            alert("No se logro insertar correctamente.");
                            
                    },
                    error: function(jqXHR, textStatus, errorThrown)
                    {
                         alert("No se logro insertar correctamente.");
                    }         
                });
            }
            function guardar1()
            {
                var formData = new FormData($("#form1")[0]);
                $.ajax({
                    url: url,
                    type: 'POST',
                    data:  formData,
                    mimeType:"multipart/form-data",
                    contentType: false,
                    cache: false,
                    processData:false,
                    success: function(data, textStatus, jqXHR)
                    {
                        if(data!=="false")
                        {
                            alert("Cambios guardados!!");
                        }
                        else
                            alert("No se logro insertar correctamente.");
                            
                    },
                    error: function(jqXHR, textStatus, errorThrown)
                    {
                         alert("No se logro insertar correctamente.");
                    }         
                });
            }
            
            function cambiotodos(cheq)
            {
                if($(cheq).attr("checked")==="checked")
                    $("#form input[type=checkbox]").attr("checked","checked");
                else
                    $("#form input[type=checkbox]").removeAttr("checked");
            }            
            function cambiotodos1(cheq)
            {
                if($(cheq).attr("checked")==="checked")
                    $("#form1 input[type=checkbox]").attr("checked","checked");
                else
                    $("#form1 input[type=checkbox]").removeAttr("checked");
            }            
            
            function llenarselect(elemento)
            {
                var valor = $(elemento).find("option:selected").val();                
                $("#form input[type=checkbox]").each(function(i,input){
                    if($(input).attr("checked")==="checked")
                    {                        
                        $(input).next().find("option[value="+valor+"]").attr("selected","selected");
                    }
                });
            }
            function llenarselect1(elemento)
            {
                var valor = $(elemento).find("option:selected").val();                
                $("#form1 input[type=checkbox]").each(function(i,input){
                    if($(input).attr("checked")==="checked")
                    {                        
                        $(input).next().find("option[value="+valor+"]").attr("selected","selected");
                    }
                });
            }
            
            function buscarCuenta(cc)
            {                
                cuentaSeleccionada=$(cc);
                var posicion = cuentaSeleccionada.position();
                $("#resultado").css({
                    position:"absolute",
                    left:posicion.left-6,
                    top:posicion.top+20,
                    background:"white",
                    border:"solid black thin",
                    font:"10px Arial",
                    color:"black",
                    opacity:"0.7",
                    display:"block"
                });
                var value = $(cc).val();
                $('#resultado').html("");
                $.each(ListaCuentaContable, function(i, item) {
                    var codigo = ListaCuentaContable[i].CODIGO.replace(/\-/g, '');  
                    if(codigo.search(value)==0 || ListaCuentaContable[i].DESCRIPCION.toUpperCase().search(value.toUpperCase())>-1){
                        var texto = "<a href='#' class='negrillaenter' onclick=\"seleccionarBusqueda(this,'"+item.CODIGO+"', '"+item.DESCRIPCION+"','"+item.MONEDA+"')\">"+item.CODIGO+" "+item.DESCRIPCION+"</a>";
                        $('#resultado').append(texto);
                    }
                });  
            }
            function buscarCuenta1(cc)
            {
                cuentaSeleccionada=$(cc);
                var posicion = cuentaSeleccionada.position();
                $("#resultado").css({
                    position:"absolute",
                    left:posicion.left-6,
                    top:posicion.top+20,
                    background:"white",
                    border:"solid black thin",
                    font:"10px Arial",
                    color:"black",
                    opacity:"0.7",
                    display:"block"
                });
                var value = $(cc).val();
                $('#resultado').html("");
                $.each(ListaCuentaContable, function(i, item) {
                    var codigo = ListaCuentaContable[i].CODIGO.replace(/\-/g, '');  
                    if(codigo.search(value)==0 || ListaCuentaContable[i].DESCRIPCION.toUpperCase().search(value.toUpperCase())>-1){
                        var texto = "<a href='#' class='negrillaenter' onclick=\"seleccionarBusqueda1(this,'"+item.CODIGO+"', '"+item.DESCRIPCION+"','"+item.MONEDA+"')\">"+item.CODIGO+" "+item.DESCRIPCION+"</a>";
                        $('#resultado').append(texto);
                    }
                });         
            }
            
            var ListaCuentaContable=[];
            var cargarCuentaEstado = false;
            function versionamiento(){
                var versionCuenta=localStorage['versionCuentaHoja'];
                if(typeof (versionCuenta)=="undefined")
                    versionCuenta=-1;
                $("#popUpCarga").css("display","block");
                $("#popUpbackGround").css("display","block");
                $.post(url,{proceso:"version"},function(responsetext){
                     var json=$.parseJSON(responsetext);
                     if(json.cuenta!=versionCuenta){
                         cargarCuentas(json.cuenta,versionCuenta);
                     }else{
                        ListaCuentaContable = $.parseJSON(localStorage['CuentaContableHoja']);
                        $("#popUpCarga").css("display","none");
                        $("#popUpbackGround").css("display","none");
                     }
                });
               
            }
            function cargarCuentas(versionCuenta,vcuenta){
                ListaCuentaContable = $.parseJSON(localStorage['CuentaContableHoja']);
                if(ListaCuentaContable==null){
                    ListaCuentaContable=[];
                }
                $.post(url,{proceso:"cargarCuenta",cuenta:vcuenta},function(responsetext){
                    var json=$.parseJSON(responsetext);
                    localStorage['versionCuentaHoja']=versionCuenta;
                    if(vcuenta==-1){
                        if(typeof(ListaCuentaContable)!="undefined")
                        ListaCuentaContable=json.cuenta;
                    }else{
                        $.each(json.cuenta, function(){
                            var item=$(this);
                            if(item.CODIGO=="na"){
                                delete ListaCuentaContable["c"+item.id];
                            }else{
                                 ListaCuentaContable["c"+parseInt(item.id)]={
                                     CODIGO:item.CODIGO,
                                     MONEDA : item.MONEDA,
                                     DESCRIPCION : item.DESCRIPCION,
                                     NIVEL :item.NIVEL,
                                     id :item.id,
                                     idnivel : item.idnivel,
                                     tipo : item.tipo
                                 }; 
                             } 
                         });
                    }
                    localStorage["CuentaContableHoja"] = JSON.stringify(ListaCuentaContable);
                    $("#popUpCarga").css("display","none");
                    $("#popUpbackGround").css("display","none");
                });
            }
            var centros_costos = "";
            function seleccionarBusqueda(elemento,codigo,descripcion,moneda){
                var tr=cuentaSeleccionada.parent().parent();            
                tr.find("input[name=codigo_cuenta]").val(codigo);
                tr.find("input[name=desc_cuenta]").val(descripcion);
                popUpCC(codigo);                                   
            }
            function seleccionarBusqueda1(elemento,codigo,descripcion,moneda){
                var tr=cuentaSeleccionada.parent().parent();            
                tr.find("input[name=codigo_cuenta1]").val(codigo);
                tr.find("input[name=desc_cuenta1]").val(descripcion);
                popUpCC1(codigo);                                   
            }
            
            var options = "";
            function popUpCC(codigo){                
                $.post(url,{proceso:"traercc",value:codigo},function(responsetext){
                    options=responsetext;
                    
                    $("#form select").html(options);
                    $("#resultado").css("display","none");
                });
           }
            function popUpCC1(codigo){                
                $.post(url,{proceso:"traercc",value:codigo},function(responsetext){
                    options=responsetext;                    
                    $("#form1 select").html(options);
                    $("#resultado").css("display","none");
                });
           }
        </script>
    </body>
</html>
